public class java0615{

    // 插入排序方法
    public static void insertionSort(int[] arr) {
        if (arr == null || arr.length <= 1) {
            return;  // 数组为空或长度小于等于1时无需排序
        }

        for (int i = 1; i < arr.length; i++) {
            int key = arr[i];  // 当前要插入的元素
            int j = i - 1;

            // 将比key大的元素向后移动
            while (j >= 0 && arr[j] > key) {
                arr[j + 1] = arr[j];
                j--;
            }

            arr[j + 1] = key;  // 插入key到正确位置
        }
    }

    // 测试代码
    public static void main(String[] args) {
        int[] array = {12, 11, 13, 5, 6};
        System.out.println("排序前:");
        for (int num : array) {
            System.out.print(num + " ");
        }

        insertionSort(array);

        System.out.println("\n排序后:");
        for (int num : array) {
            System.out.print(num + " ");
        }
    }
}
